from flask import Flask
from seting.default import map_config
#负责创建app对象
def create_app(config_type):
    app=Flask(__name__)
    #加载项目的配置
    app.config.from_object(map_config.get(config_type))

    #初始化限流器
    from comment.utils.limiter import limiter
    limiter.init_app(app)


    #加载日志的处理工具
    from comment.utils import logging1
    logging1.create_logger(app)

    #初始化SQLAchemy对象
    from comment.models import db
    db.init_app(app)
    # 初始化数据库的连接
    from comment.utils.shopping_redis import redis_client
    redis_client.init_app(app)
    #添加请求钩子
    from comment.utils.requests_wares import jwt_requests_authorization
    app.before_request(jwt_requests_authorization)#所有服务器的请求都生效

    #加载模块的蓝图
    from Shopping.resources.user import user_bp
    app.register_blueprint(user_bp)
    #加载商品模块的蓝图
    from Shopping.resources.index import index_bp
    app.register_blueprint(index_bp)

    return app